package com.demo;

import com.demo.slice.MainAbilitySlice;
import ohos.aafwk.ability.Ability;
import ohos.aafwk.content.Intent;
import ohos.aafwk.content.Operation;
import ohos.agp.components.Button;
import ohos.agp.components.Component;
import ohos.agp.components.Text;

public class MainAbility extends Ability {
    @Override
    public void onStart(Intent intent) {
        super.onStart(intent);
        //虽然一个Page可以包含多个AbilitySlice，但是Page进入前台时界面默认只展示一个AbilitySlice。
        // 默认展示的AbilitySlice是通过setMainRoute()方法来指定的。如果需要更改默认展示的AbilitySlice，
        //可以通过addActionRoute()方法为此AbilitySlice配置一条路由规则。
        // 此时，当其他Page实例期望导航到此AbilitySlice时，可以在Intent中指定Action，详见不同Page间导航。
        super.setMainRoute(MainAbilitySlice.class.getName());
        // set the action route
//        addActionRoute("action.pay", PaySlice.class.getName());
    }

    @Override
    protected void onActive() {
        Text text = (Text) findComponentById(ResourceTable.Id_text_helloworld);
        text.setAutoFontSizeRule(30, 100, 1);
        text.setClickedListener(component -> text.setText(text.getText() + "T"));

        Button button = (Button) findComponentById(ResourceTable.Id_text_detail);
        button.setClickedListener(component -> {
            Intent intent = new Intent();
            // 通过Intent中的OperationBuilder类构造operation对象，指定设备标识（空串表示当前设备）、应用包名、Ability名称
            Operation operation = new Intent.OperationBuilder()
                    .withDeviceId("")
                    .withBundleName("com.demo")
                    .withAbilityName("com.demo.slice.DetailAbilitySlice")
                    .build();
            intent.setOperation(operation);
            startAbility(intent);
        });

    }
}
